xen/arm: vgic-v3: Only emulate identification registers required by the spec
authorJulien Grall <julien.grall@citrix.com>
Wed, 18 Nov 2015 17:27:59 +0000 (17:27 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 25 Nov 2015 12:29:28 +0000 (12:29 +0000)
commit84ce5f4f3b17209346b5e80b6dc0cc2423fc084a
tree16b7d817bebd86607e3af724ce2253cf0d4d9f62
parentcf1a142b3ef665bbd61b5b8375ca6e0544c42166
xen/arm: vgic-v3: Only emulate identification registers required by the spec

Most of the identification registers space contains implementation
defined registers (see 8.1.13 in ARM IHI 0069A) and only GIC{D,R}_PIDR2
is required to be implemented.

Currently the emulation of those registers mimic the ARM implementation,
but it's untrue to say that we properly emulate a such implementation.

Keep only GIC{D,R}_PIDR2 implemented with the "implementation defined
bits" to zero and the ArchRev field (bits[7:4]) to 0x3 as we emulate a
GICv3.

Note that the emulation of the range wasn't valid anyway because the
registers are split in 2 sets (PIDR4-PIDR7 and PIDR0-PIDR2).

Signed-off-by: Julien Grall <julien.grall@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/vgic-v3.c
xen/include/asm-arm/gic_v3_defs.h